OFDM (Orthogonal Frequency Division Multiplexing) is a transmission scheme used in a number of applications including digital audio broadcasting and digital TV systems (e.g. DVB-T (Digital Video Broadcasting-Terrestrial), DVB-H (Digital Video Broadcasting-Handheld) and ISDB-T (Integrated Services Digital Broadcasting-Terrestrial)).
The bit stream that is to be transmitted is split into several parallel bit streams, typically hundreds or thousands. The available frequency spectrum is split into several channels and each low bit rate stream is transmitted over one channel using some sort of known modulation scheme e.g. QAM (Quadrature Amplitude Modulation) or PSK (Phase Shift Keying). The channel frequencies are chosen such that the modulated data streams are orthogonal to each other. This means that each channel can be deciphered independently at the receiver, since cross-talk between the sub-channels is eliminated.
In practice, each of the sub-channels may be distorted by the transmission channel such that the amplitude and phase of each sub-carrier must be equalised in the receiver to give good performance using coherent demodulation. The receiver needs a good estimate of the transmission channel in order to carry out equalisation. In order to deal with this in the digital TV systems mentioned above, scattered pilots are inserted at regular intervals across the frequency span of each symbol. Each pilot is a symbol transmitted with known amplitude and phase and the pilots are used for channel estimation in the receiver. In the particular transmission schemes discussed above, every 12th sub-carrier (in the frequency direction) of each symbol is a pilot.
In order to increase the effective sampling frequency of the channel (in the frequency direction), in the digital TV systems mentioned above, the pilot sampling grid is advanced by three sub-carriers on every consecutive symbol in time. This leads to a pilot sampling grid in the time-frequency plane as shown in FIG. 1.
In FIG. 1, time (i.e. symbol number n) is shown on the y-axis. The oldest symbol is at the top of the plot (symbol number 0) and the most recently received symbol is at the bottom of the plot (symbol number 15). Frequency (i.e. sub-carrier k) is shown on the x-axis. Typically, there will be many more sub-carriers per symbol than are shown in FIG. 1. As indicated by the key of FIG. 1, each sub-carrier is shown by a dot and the scattered pilot sub-carriers are shown by a dot overlaid with a rectangle.
Note, in FIG. 1, that some sub-carriers, such as sub-carrier index k=0, are designated continual pilots and as such are transmitted as a known pilot for every symbol n.
Channel estimation at the receiver usually uses the scattered pilots. In the process, the receiver aims to form an estimate of the distortion applied by the channel for each sub-carrier of each symbol received. This may be done either by interpolating (upsampling) the scattered pilots by a factor 4 in the frequency direction. This will give a line of virtual pilots at every third sub-carrier in the frequency direction. These resulting virtual pilots can be interpolated by a factor 3 in the frequency direction to give a sample of the channel response for every sub-carrier. Alternatively, the interpolation may be done by interpolating the scattered pilots by a factor 4 in the time direction. This will also give a line of virtual pilots at every third sub-carrier in the frequency direction. These resulting virtual pilots can be interpolated by a factor 3 in the frequency direction to give a sample of the channel response for every sub-carrier
Of course, this principle also applies for different spacings of the scattered pilots. If the spacing between pilots in each symbol is a sub-carriers (in the case above, a=12) and adjacent symbol pilots are shifted by b sub-carriers (in the case above b=3), the first interpolation, in the time or frequency domain, will be by a factor of a/b and the second interpolation, in the frequency domain, will be by a factor b.
Because this relates to mobile technology, we consider a fading channel i.e. one in which the receiver is moving through the interference pattern of the transmitter. The superposition of the Doppler-shifted carrier wave leads to a fluctuation of the carrier amplitude and phase. This means that the received signal is amplitude and phase modulated by the channel. Whether the first stage of the interpolation is carried out in the frequency direction or in the time direction will depend on the magnitude of the delay spread and on the magnitude of the Doppler frequency. The requirement to interpolate the scattered pilots by a factor 4 (in either domain) places an upper limit on the maximum tolerable delay spread.
If the delay spread falls outside
  -            T      u        24  to
            T      u        24    ,where Tu is the useful symbol duration, the interpolation in the frequency axis will cause aliasing and, as a result, the channel estimation will be inaccurate. Thus, interpolation in the frequency direction is only applied when the delay spread falls within the range
  -            T      u        24  to
            T      u        24    .When the delay spread falls outside the range
  -            T      u        24  to
            T      u        24    ,it is necessary to interpolate in the time direction.
Similarly, if the Doppler frequency exceeds
      1          8      ⁢              T        S              ,where TS is the total symbol duration, then interpolation in the time axis will cause aliasing and, as a result, the channel estimation will be inaccurate.
Whether to interpolate at the first stage in the time domain or in the frequency domain will depend on a number of factors including the delay spread and/or the Doppler frequency. Essentially, the higher the Doppler frequency, the more inaccurate will be the interpolation in the time axis and the higher the delay spread, the more inaccurate will be the interpolation in the frequency axis.
With the presence of additive noise on the received signal, the performance of the receiver can be improved by filtering the pilots to remove the noise.
FIG. 2 shows a set of pilot tones that may be used to perform filtering in the frequency axis for the purposes of reducing noise, and FIG. 3 shows a set of pilot tones that may be used to perform filtering in the time axis. In each figure, the pilot tones used to perform filtering are shown by a dot overlaid with a shaded rectangle. If the noise on the pilots occupies the Nyquist bandwidth fNy and the noise on the filtered pilots occupies an effective noise bandwidth BW, then the noise power is reduced by:
  10  ⁢          ⁢            log      10        ⁡          (              BW                  f          Ny                    )        ⁢  dB
The noise may be reduced further by performing interpolation by four in the time axis before performing noise reduction filtering in the frequency axis, or by performing interpolation by four in the frequency axis before performing noise reduction filtering in the time axis. One particularly good arrangement of the prior art (as long as the Doppler frequency is not too high) is to perform interpolation by four in the time axis, to perform noise reduction filtering in the frequency axis and then to interpolate by 3 in the frequency axis. The noise on the virtual pilots generated by the interpolation in one axis occupies the Nyquist bandwidth which is now 4fNy, (because of the interpolation by a factor 4) so if the virtual pilots are filtering to an effective noise bandwidth BW, then the noise power is reduced by:
  10  ⁢          ⁢            log      10        ⁡          (              BW                  4          ⁢                      f            Ny                              )        ⁢  dB
Like in FIG. 1, in FIGS. 2 and 3, time is shown on the y-axis and frequency is shown on the x-axis. In FIG. 2, those sub-carriers overlaid with a shaded rectangle are the inputs to an m-tap filter in the frequency direction (here m=6). Similarly, in FIG. 3, those sub-carriers overlaid with a shaded rectangle are the inputs to an m-tap filter in the frequency direction (here m=6). A generic filter for the procedure is shown schematically in FIG. 4. In FIG. 4, the filter coefficients are defined as h0 to hm-1. For reducing Gaussian noise, the filter is most likely a low-pass filter. In general, the larger m, the better the filter performance but the more memory is required.
In a practical receiver, the cost of implementing the filters described above, must be considered. In general, the cost of implementing a filter along the frequency axis is lower than the cost of implementing a filter along the time axis. This is because the set of data points required for filtering in the frequency direction are all present in the memory after a symbol has been Fast Fourier Transform-ed (FFT'd) from the time domain to the frequency domain. So, no extra memory space is required in order for the filtering to be performed. In contrast, to apply a filter in the time axis, pilot data from historical symbols must be stored to provide the set of data points required for filtering, and symbol data must also be stored to balance the delay in pilot processing to ensure that symbols for demodulation are time-aligned with the filtered pilots used to equalise the received data. Or putting it another way, the FIG. 3 inputs to the m-tap filter are spread out over time so must be buffered before the filter output can be obtained. But the FIG. 2 filter inputs are all contained on a single symbol.
The cost of implementing a system that interpolates by four in the frequency axis and then performs noise reduction filtering in the time axis will be very high because either the interpolated virtual pilots must be stored for a number of symbols (for example 16 symbols as shown in FIG. 3), or the virtual pilots must be calculated for a number of symbols (for example 16 symbols as shown in FIG. 3) when the noise reduction filtering for one symbol is performed.
The cost of implementing a system that interpolates by four in the time axis and then performs noise reduction filtering in the frequency axis will be rather lower because it is only necessary to calculate and store those virtual pilots that appear in the symbol that is being demodulated. This approach is advantageous in implementation cost, but it cannot work well if the Doppler frequency is so high that time interpolation is inaccurate.
The instantaneous channel impulse response can be estimated and used to derived a Wiener filter for frequency axis filtering. The Doppler spectrum can also be estimated allowing a Wiener filter to be constructed for time axis filtering. However, apart from the difficulty of estimating these parameters, there are other constraints on the maximum order of these filters and hence the amount of noise attenuation that can be achieved.
Firstly, for frequency axis filtering, the maximum order (m) of the frequency axis filter is constrained by the number of sub-carriers k in the symbol and the difficulty associated at the symbols' upper and lower frequencies (where no further pilot sub-carriers exist). High order frequency axis filters are also detrimental when narrow-band interferers are present. The filtering operation causes the interference to be spread across frequency into otherwise unaffected adjacent sub-carriers i.e. the filtering actually increases the amount of interference present.
Secondly, as already suggested, for time axis filtering, the maximum order of the time-axis filter is constrained primarily by the memory available in the receiver to buffer symbols and implement a causal filter. More memory allows a higher order filter (higher m), but is costly in terms of die area, power consumption and latency.
Some prior art systems filter in the time axis and then filter in the frequency axis, or vice-versa, but this requires a large amount of memory space and processing time.
It is an object of the invention to provide a method and apparatus which avoids or mitigates the problems of known systems described above.